package jpa.entitys.promis.sales;

import java.io.Serializable;

import javax.persistence.*;

import java.math.BigDecimal;
import java.util.Date;


/**
 * The persistent class for the CONTRACT_INSTALLMENTS database table.
 * 
 */
@Entity
@Table(name="CONTRACT_INSTALLMENTS")
public class ContractInstallment extends jpa.entitys.common.CommonEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	@EmbeddedId
	private ContractInstallmentPK id;

	@Override public String toString() { return org.apache.commons.lang.builder.ToStringBuilder.reflectionToString(this);}

	@Column(name="ACTIVITY_GROUP_CODE", length=30)
	private String activityGroupCode;

	@Column(name="ADVANCE_ADJUSTED", precision=16, scale=2)
	private BigDecimal advanceAdjusted;

	@Column(name="ADVANCE_RECEIVED", precision=16, scale=2)
	private BigDecimal advanceReceived;

	@Column(name="ADVANCE_RECEIVED_LC", precision=16, scale=2)
	private BigDecimal advanceReceivedLc;

	@Column(name="ADVANCE_TYPE", length=2)
	private String advanceType;

	@Column(precision=16, scale=2)
	private BigDecimal cash;

	@Column(name="CASH_LC", precision=16, scale=2)
	private BigDecimal cashLc;

	@Column(name="CHEQUE_PAYEE_AC", length=3)
	private String chequePayeeAc;

	@Column(name="CREATED_BY")
	private String createdBy;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="CREATED_ON")
	private Date createdOn;

	@Column(length=3)
	private String currency;

	@Column(name="CUSTOMER_CODE", length=30)
	private String customerCode;

	@Column(name="DEDUCT_PERCENT", precision=12, scale=8)
	private BigDecimal deductPercent;

	@Column(name="FITOUT_AMOUNT", precision=16, scale=2)
	private BigDecimal fitoutAmount;

	@Column(name="FLAG_UNIT_ADJUST", length=1)
	private String flagUnitAdjust;

	@Column(name="GD_AMOUNT", precision=16, scale=2)
	private BigDecimal gdAmount;

	@Column(name="GD_AMOUNT_DEDUCTED", precision=16, scale=2)
	private BigDecimal gdAmountDeducted;

	@Column(name="GD_AMOUNT_LC", precision=16, scale=2)
	private BigDecimal gdAmountLc;

	@Column(name="GL_CODE", length=5)
	private String glCode;

	@Column(name="INSTALLMENT_AMOUNT_PAID", precision=16, scale=2)
	private BigDecimal installmentAmountPaid;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="INSTALLMENT_DUE_DATE")
	private Date installmentDueDate;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="INSTALLMENT_PAID_DATE")
	private Date installmentPaidDate;

	@Column(name="INSTALMENT_AMOUNT", precision=16, scale=2)
	private BigDecimal instalmentAmount;

	@Column(name="INSTALMENT_AMOUNT_LC", precision=16, scale=2)
	private BigDecimal instalmentAmountLc;

	@Column(name="LAST_UPD_BY")
	private String lastUpdBy;

    @Temporal( TemporalType.TIMESTAMP)
	@Column(name="LAST_UPD_ON")
	private Date lastUpdOn;

	@Column(length=5)
	private String location;

	@Column(name="PAYMENT_REF_BANK", precision=22)
	private BigDecimal paymentRefBank;

	@Column(length=30)
	private String project;

	@Column(name="PROPERTY_TYPE_CODE", length=30)
	private String propertyTypeCode;

	@Column(length=300)
	private String remarks;

	@Column(name="RETENTION_TYPE", length=2)
	private String retentionType;

	@Column(length=1)
	private String status;

	@Column(name="SUB_GL_CODE", length=4)
	private String subGlCode;

	@Column(name="SUB_PROJECT", length=15)
	private String subProject;

	@Column(name="UNIT_NUMBER", length=8)
	private String unitNumber;

	@Column(name="VARIATION_NO", precision=6)
	private BigDecimal variationNo;

	@Column(name="VARIATION_SERIES", length=4)
	private String variationSeries;

	@Column(name="VARIATION_TYPE", length=2)
	private String variationType;

	@Column(name="VAT_AMOUNT", precision=12, scale=2)
	private BigDecimal vatAmount;

	@Column(name="VAT_CODE", length=2)
	private String vatCode;

	@Column(name="VAT_RATE", precision=5, scale=2)
	private BigDecimal vatRate;

	@Column(name="VAT_RECEIVED", precision=16, scale=2)
	private BigDecimal vatReceived;

	@Column(name="VAT_RECEIVED_LC", precision=16, scale=2)
	private BigDecimal vatReceivedLc;

	@Column(name="VR_REVISION", precision=6)
	private BigDecimal vrRevision;

	@Column(name="WH_TAX_RECEIVED", precision=16, scale=2)
	private BigDecimal whTaxReceived;

	@Column(name="WH_TAX_RECEIVED_LC", precision=16, scale=2)
	private BigDecimal whTaxReceivedLc;

	@Column(name="WHT_AMOUNT", precision=16, scale=2)
	private BigDecimal whtAmount;

	@Column(name="WHT_RATE", precision=5, scale=2)
	private BigDecimal whtRate;

	@Column(name="WHT_SUBCODE", length=2)
	private String whtSubcode;

	@Column(name="WHT_TYPE", length=2)
	private String whtType;

    public ContractInstallment() {
    }

	public ContractInstallmentPK getId() {
		return this.id;
	}

	public void setId(ContractInstallmentPK id) {
		this.id = id;
	}
	
	public String getActivityGroupCode() {
		return this.activityGroupCode;
	}

	public void setActivityGroupCode(String activityGroupCode) {
		this.activityGroupCode = activityGroupCode;
	}

	public BigDecimal getAdvanceAdjusted() {
		return this.advanceAdjusted;
	}

	public void setAdvanceAdjusted(BigDecimal advanceAdjusted) {
		this.advanceAdjusted = advanceAdjusted;
	}

	public BigDecimal getAdvanceReceived() {
		return this.advanceReceived;
	}

	public void setAdvanceReceived(BigDecimal advanceReceived) {
		this.advanceReceived = advanceReceived;
	}

	public BigDecimal getAdvanceReceivedLc() {
		return this.advanceReceivedLc;
	}

	public void setAdvanceReceivedLc(BigDecimal advanceReceivedLc) {
		this.advanceReceivedLc = advanceReceivedLc;
	}

	public String getAdvanceType() {
		return this.advanceType;
	}

	public void setAdvanceType(String advanceType) {
		this.advanceType = advanceType;
	}

	public BigDecimal getCash() {
		return this.cash;
	}

	public void setCash(BigDecimal cash) {
		this.cash = cash;
	}

	public BigDecimal getCashLc() {
		return this.cashLc;
	}

	public void setCashLc(BigDecimal cashLc) {
		this.cashLc = cashLc;
	}

	public String getChequePayeeAc() {
		return this.chequePayeeAc;
	}

	public void setChequePayeeAc(String chequePayeeAc) {
		this.chequePayeeAc = chequePayeeAc;
	}

	public String getCreatedBy() {
		return this.createdBy;
	}

	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	public Date getCreatedOn() {
		return this.createdOn;
	}

	public void setCreatedOn(Date createdOn) {
		this.createdOn = createdOn;
	}

	public String getCurrency() {
		return this.currency;
	}

	public void setCurrency(String currency) {
		this.currency = currency;
	}

	public String getCustomerCode() {
		return this.customerCode;
	}

	public void setCustomerCode(String customerCode) {
		this.customerCode = customerCode;
	}

	public BigDecimal getDeductPercent() {
		return this.deductPercent;
	}

	public void setDeductPercent(BigDecimal deductPercent) {
		this.deductPercent = deductPercent;
	}

	public BigDecimal getFitoutAmount() {
		return this.fitoutAmount;
	}

	public void setFitoutAmount(BigDecimal fitoutAmount) {
		this.fitoutAmount = fitoutAmount;
	}

	public String getFlagUnitAdjust() {
		return this.flagUnitAdjust;
	}

	public void setFlagUnitAdjust(String flagUnitAdjust) {
		this.flagUnitAdjust = flagUnitAdjust;
	}

	public BigDecimal getGdAmount() {
		return this.gdAmount;
	}

	public void setGdAmount(BigDecimal gdAmount) {
		this.gdAmount = gdAmount;
	}

	public BigDecimal getGdAmountDeducted() {
		return this.gdAmountDeducted;
	}

	public void setGdAmountDeducted(BigDecimal gdAmountDeducted) {
		this.gdAmountDeducted = gdAmountDeducted;
	}

	public BigDecimal getGdAmountLc() {
		return this.gdAmountLc;
	}

	public void setGdAmountLc(BigDecimal gdAmountLc) {
		this.gdAmountLc = gdAmountLc;
	}

	public String getGlCode() {
		return this.glCode;
	}

	public void setGlCode(String glCode) {
		this.glCode = glCode;
	}

	public BigDecimal getInstallmentAmountPaid() {
		return this.installmentAmountPaid;
	}

	public void setInstallmentAmountPaid(BigDecimal installmentAmountPaid) {
		this.installmentAmountPaid = installmentAmountPaid;
	}

	public Date getInstallmentDueDate() {
		return this.installmentDueDate;
	}

	public void setInstallmentDueDate(Date installmentDueDate) {
		this.installmentDueDate = installmentDueDate;
	}

	public Date getInstallmentPaidDate() {
		return this.installmentPaidDate;
	}

	public void setInstallmentPaidDate(Date installmentPaidDate) {
		this.installmentPaidDate = installmentPaidDate;
	}

	public BigDecimal getInstalmentAmount() {
		return this.instalmentAmount;
	}

	public void setInstalmentAmount(BigDecimal instalmentAmount) {
		this.instalmentAmount = instalmentAmount;
	}

	public BigDecimal getInstalmentAmountLc() {
		return this.instalmentAmountLc;
	}

	public void setInstalmentAmountLc(BigDecimal instalmentAmountLc) {
		this.instalmentAmountLc = instalmentAmountLc;
	}

	public String getLastUpdBy() {
		return this.lastUpdBy;
	}

	public void setLastUpdBy(String lastUpdBy) {
		this.lastUpdBy = lastUpdBy;
	}

	public Date getLastUpdOn() {
		return this.lastUpdOn;
	}

	public void setLastUpdOn(Date lastUpdOn) {
		this.lastUpdOn = lastUpdOn;
	}

	public String getLocation() {
		return this.location;
	}

	public void setLocation(String location) {
		this.location = location;
	}

	public BigDecimal getPaymentRefBank() {
		return this.paymentRefBank;
	}

	public void setPaymentRefBank(BigDecimal paymentRefBank) {
		this.paymentRefBank = paymentRefBank;
	}

	public String getProject() {
		return this.project;
	}

	public void setProject(String project) {
		this.project = project;
	}

	public String getPropertyTypeCode() {
		return this.propertyTypeCode;
	}

	public void setPropertyTypeCode(String propertyTypeCode) {
		this.propertyTypeCode = propertyTypeCode;
	}

	public String getRemarks() {
		return this.remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	public String getRetentionType() {
		return this.retentionType;
	}

	public void setRetentionType(String retentionType) {
		this.retentionType = retentionType;
	}

	public String getStatus() {
		return this.status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public String getSubGlCode() {
		return this.subGlCode;
	}

	public void setSubGlCode(String subGlCode) {
		this.subGlCode = subGlCode;
	}

	public String getSubProject() {
		return this.subProject;
	}

	public void setSubProject(String subProject) {
		this.subProject = subProject;
	}

	public String getUnitNumber() {
		return this.unitNumber;
	}

	public void setUnitNumber(String unitNumber) {
		this.unitNumber = unitNumber;
	}

	public BigDecimal getVariationNo() {
		return this.variationNo;
	}

	public void setVariationNo(BigDecimal variationNo) {
		this.variationNo = variationNo;
	}

	public String getVariationSeries() {
		return this.variationSeries;
	}

	public void setVariationSeries(String variationSeries) {
		this.variationSeries = variationSeries;
	}

	public String getVariationType() {
		return this.variationType;
	}

	public void setVariationType(String variationType) {
		this.variationType = variationType;
	}

	public BigDecimal getVatAmount() {
		return this.vatAmount;
	}

	public void setVatAmount(BigDecimal vatAmount) {
		this.vatAmount = vatAmount;
	}

	public String getVatCode() {
		return this.vatCode;
	}

	public void setVatCode(String vatCode) {
		this.vatCode = vatCode;
	}

	public BigDecimal getVatRate() {
		return this.vatRate;
	}

	public void setVatRate(BigDecimal vatRate) {
		this.vatRate = vatRate;
	}

	public BigDecimal getVatReceived() {
		return this.vatReceived;
	}

	public void setVatReceived(BigDecimal vatReceived) {
		this.vatReceived = vatReceived;
	}

	public BigDecimal getVatReceivedLc() {
		return this.vatReceivedLc;
	}

	public void setVatReceivedLc(BigDecimal vatReceivedLc) {
		this.vatReceivedLc = vatReceivedLc;
	}

	public BigDecimal getVrRevision() {
		return this.vrRevision;
	}

	public void setVrRevision(BigDecimal vrRevision) {
		this.vrRevision = vrRevision;
	}

	public BigDecimal getWhTaxReceived() {
		return this.whTaxReceived;
	}

	public void setWhTaxReceived(BigDecimal whTaxReceived) {
		this.whTaxReceived = whTaxReceived;
	}

	public BigDecimal getWhTaxReceivedLc() {
		return this.whTaxReceivedLc;
	}

	public void setWhTaxReceivedLc(BigDecimal whTaxReceivedLc) {
		this.whTaxReceivedLc = whTaxReceivedLc;
	}

	public BigDecimal getWhtAmount() {
		return this.whtAmount;
	}

	public void setWhtAmount(BigDecimal whtAmount) {
		this.whtAmount = whtAmount;
	}

	public BigDecimal getWhtRate() {
		return this.whtRate;
	}

	public void setWhtRate(BigDecimal whtRate) {
		this.whtRate = whtRate;
	}

	public String getWhtSubcode() {
		return this.whtSubcode;
	}

	public void setWhtSubcode(String whtSubcode) {
		this.whtSubcode = whtSubcode;
	}

	public String getWhtType() {
		return this.whtType;
	}

	public void setWhtType(String whtType) {
		this.whtType = whtType;
	}

}